//格式化日期
function dateFtt(fmt, date) {
    var o = {
        "M+": date.getMonth() + 1, //月份
        "d+": date.getDate(), //日
        "h+": date.getHours(), //小时
        "m+": date.getMinutes(), //分
        "s+": date.getSeconds(), //秒
        "q+": Math.floor((date.getMonth() + 3) / 3), //季度
        S: date.getMilliseconds(), //毫秒
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(
            RegExp.$1,
            (date.getFullYear() + "").substr(4 - RegExp.$1.length)
        );
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(
                RegExp.$1,
                RegExp.$1.length == 1 ?
                    o[k] :
                    ("00" + o[k]).substr(("" + o[k]).length)
            );
    return fmt;
}

//创建时间格式化显示
function formateDate() {
    var crtTime = new Date(); //当前时间
    // return dateFtt("yyyy-MM-dd hh:mm:ss", crtTime);
    // return dateFtt("yyyy年MM月dd日 hh:mm:ss", crtTime);  
    // return dateFtt("yyyy/MM/dd hh:mm:ss", crtTime);  
    return dateFtt("yyyy年MM月dd日 hh:mm:ss", crtTime);
}

// 随机颜色
function suijise() {
    function rundon(a, b) {
        var d = Math.max(a, b)
        var x = Math.min(a, b)
        return Math.floor(Math.random() * (d - x) + x)
    }
    var r = rundon(0, 255)
    var g = rundon(0, 255)
    var b = rundon(0, 255)
    return `rgb(${r},${g},${b})`
}


//兼容性写法，获取滚动距离  0->  false  
function getScrollTop() {
    if (document.documentElement.scrollTop) {
        return document.documentElement.scrollTop
    } else {
        return document.body.scrollTop
    }

    // return document.body.scrollTop || document.documentElement.scrollTop
}

// 生成一个任意范围内的随机整数
function getRandomNum(a, b) {
    if (a > b) {
        return parseInt(Math.random() * (a - b + 1)) + b
    }
    return parseInt(Math.random() * (b - a + 1)) + a
}

//ajax promise封装
//封装ajax工具函数
//调用方式
// ajaxPromise({
//     method: 'get',
//     url: 'http://10.7.176.87:8088/api/find',
//     data: {
//         id: 2
//     }
// }).then(data => {
//   成功data为响应的值  console.log(data)
// }).catch(error => {
//   失败  console.log(error)
// })

function ajaxPromise(obj) {
    const promise = new Promise(function (resolve, reject) {
        //封装ajax异步任务
        ajax({
            method: obj.method,
            url: obj.url,
            data: obj.data,
            success: function (data) {
                resolve(data)
            },
            error: function (error) {
                reject(error)
            }
        })
    })
    return promise
}

function ajax(options) {
    // 创建XMLHttpRequest对象
    const xhr = new window.XMLHttpRequest
    // 处理参数,将对象参数转成名称值对形式
    // options.data    //转成username ='admin'
    let parame = formateParame(options.data)
    //判断请求方式
    let method = options.method.toUpperCase()
    if (method == 'GET') {
        xhr.open(method, options.url + '?' + parame)
        xhr.send()
    } else if (method == 'POST') {
        xhr.open(method, options.url)//建立链接
        xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
        xhr.send(parame)//发送请求
    }
    xhr.onreadystatechange = function () {
        //4.1判断响应是否完成
        if (xhr.readyState == 4) {
            //4.2是否成功响应
            if (xhr.status == 200) {
                let result = xhr.responseText
                let data = JSON.parse(result)
                //调用处理成功的回调函数success
                options.success(data)
            } else {
                options.error(xhr)
            }
        }
    }
}
//ajax拼接请求的参数
function formateParame(obj) {
    let arr = []
    for (let key in obj) {
        let itme = `${key}=${obj[key]}`
        arr.push(itme)
    }
    let str = arr.join('&')
    return str
}

//获取url地址栏的数据
function splitStrToObject(url) {
    var s = url.indexOf('?')
    var xin = url.substring(s + 1)
    xin = xin.split('&')
    var obj = {}
    xin.forEach(function (zhi) {
        var k = zhi.split('=')
        obj[k[0]] = k[1]
    });
    return obj
}